package com.caipin.domain.web;

/**
 * @Author: zhunian0322@163.com
 * @DateTime: 2021-10-06 11:51
 * @Description: TODO
 */
public class InAndOutInfo {
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date date;

    private long in;

    @JsonIgnore
    private long out;

    public com.caipin.domain.web.InAndOutInfo setDate(Date date) {
        this.date = date;
        return this;
    }

    public com.caipin.domain.web.InAndOutInfo setIn(long in) {
        this.in = in;
        return this;
    }

    public com.caipin.domain.web.InAndOutInfo setOut(long out) {
        this.out = out;
        return this;
    }

    public boolean equals(Object o) {
        if (o == this)
            return true;
        if (!(o instanceof com.caipin.domain.web.InAndOutInfo))
            return false;
        com.caipin.domain.web.InAndOutInfo other = (com.caipin.domain.web.InAndOutInfo)o;
        if (!other.canEqual(this))
            return false;
        Object this$date = getDate(), other$date = other.getDate();
        return ((this$date == null) ? (other$date != null) : !this$date.equals(other$date)) ? false : ((getIn() != other.getIn()) ? false : (!(getOut() != other.getOut())));
    }

    protected boolean canEqual(Object other) {
        return other instanceof com.caipin.domain.web.InAndOutInfo;
    }

    public int hashCode() {
        int PRIME = 59;
        result = 1;
        Object $date = getDate();
        result = result * 59 + (($date == null) ? 43 : $date.hashCode());
        long $in = getIn();
        result = result * 59 + (int)($in >>> 32L ^ $in);
        long $out = getOut();
        return result * 59 + (int)($out >>> 32L ^ $out);
    }

    public String toString() {
        return "InAndOutInfo(date=" + getDate() + ", in=" + getIn() + ", out=" + getOut() + ")";
    }

    public Date getDate() {
        return this.date;
    }

    public long getIn() {
        return this.in;
    }

    public long getOut() {
        return this.out;
    }
}

